<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="ProgId" content="Word.Document">
<meta name="Originator" content="Microsoft Word 9">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title> </title>
<link rel="File-List" href="./chap7_files/filelist.xml">
<link rel="Edit-Time-Data" href="./chap7_files/editdata.mso">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;
	mso-font-charset:2;
	mso-generic-font-family:auto;
	mso-font-pitch:variable;
	mso-font-signature:0 268435456 0 0 -2147483648 0;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:1627421319 -2147483648 8 0 66047 0;}
@font-face
	{font-family:"Microsoft Sans Serif";
	panose-1:2 11 6 4 2 2 2 2 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:1627421663 -2147483648 8 0 66047 0;}
@font-face
	{font-family:Garamond;
	panose-1:2 2 4 4 3 3 1 1 8 3;
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:647 0 0 0 159 0;}
@font-face
	{font-family:Desdemona;
	panose-1:4 2 5 5 2 14 3 4 5 4;
	mso-font-charset:0;
	mso-generic-font-family:decorative;
	mso-font-pitch:variable;
	mso-font-signature:131 0 0 0 9 0;}
@font-face
	{font-family:Terminal;
	panose-1:0 0 0 0 0 0 0 0 0 0;
	mso-font-charset:255;
	mso-generic-font-family:modern;
	mso-font-format:other;
	mso-font-pitch:fixed;
	mso-font-signature:3 0 0 0 1 0;}
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:windowtext;}
h1
	{mso-style-next:Normal;
	margin-top:0in;
	margin-right:-.35pt;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:1;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	color:black;
	mso-font-kerning:0pt;
	mso-ansi-language:EN-GB;
	font-weight:normal;
	text-decoration:underline;
	text-underline:single;}
h2
	{mso-style-next:Normal;
	margin-top:0in;
	margin-right:-.35pt;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	text-align:center;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:2;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;
	font-weight:normal;
	font-style:italic;
	mso-bidi-font-style:normal;}
h3
	{mso-style-next:Normal;
	margin-top:0in;
	margin-right:-.35pt;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:3;
	font-size:14.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;
	font-weight:normal;}
h4
	{mso-style-next:Normal;
	margin-top:0in;
	margin-right:-.35pt;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:4;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;
	font-weight:bold;
	mso-bidi-font-weight:normal;
	text-decoration:underline;
	text-underline:single;}
h5
	{mso-style-next:Normal;
	margin-top:0in;
	margin-right:-.35pt;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:5;
	font-size:14.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;
	font-weight:bold;
	mso-bidi-font-weight:normal;
	text-decoration:underline;
	text-underline:single;}
h6
	{mso-style-next:Normal;
	margin-top:0in;
	margin-right:-.35pt;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	text-indent:.5in;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:6;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;
	font-weight:normal;
	font-style:italic;
	mso-bidi-font-style:normal;}
p.MsoHeading7, li.MsoHeading7, div.MsoHeading7
	{mso-style-next:Normal;
	margin-top:0in;
	margin-right:-.35pt;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:7;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;
	font-style:italic;
	mso-bidi-font-style:normal;}
p.MsoHeading8, li.MsoHeading8, div.MsoHeading8
	{mso-style-next:Normal;
	margin-top:0in;
	margin-right:-.35pt;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:8;
	font-size:14.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;
	text-decoration:underline;
	text-underline:single;}
p.MsoHeading9, li.MsoHeading9, div.MsoHeading9
	{mso-style-next:Normal;
	margin-top:0in;
	margin-right:-.35pt;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	text-align:center;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:9;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;
	font-weight:bold;
	mso-bidi-font-weight:normal;}
p.MsoIndex1, li.MsoIndex1, div.MsoIndex1
	{mso-style-update:auto;
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:11.0pt;
	margin-bottom:.0001pt;
	text-indent:-11.0pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:10.5pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoIndex2, li.MsoIndex2, div.MsoIndex2
	{mso-style-update:auto;
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:22.0pt;
	margin-bottom:.0001pt;
	text-indent:-11.0pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:10.5pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoIndex3, li.MsoIndex3, div.MsoIndex3
	{mso-style-update:auto;
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:33.0pt;
	margin-bottom:.0001pt;
	text-indent:-11.0pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:10.5pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoIndex4, li.MsoIndex4, div.MsoIndex4
	{mso-style-update:auto;
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:44.0pt;
	margin-bottom:.0001pt;
	text-indent:-11.0pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:10.5pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoIndex5, li.MsoIndex5, div.MsoIndex5
	{mso-style-update:auto;
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:55.0pt;
	margin-bottom:.0001pt;
	text-indent:-11.0pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:10.5pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoIndex6, li.MsoIndex6, div.MsoIndex6
	{mso-style-update:auto;
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:66.0pt;
	margin-bottom:.0001pt;
	text-indent:-11.0pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:10.5pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoIndex7, li.MsoIndex7, div.MsoIndex7
	{mso-style-update:auto;
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:77.0pt;
	margin-bottom:.0001pt;
	text-indent:-11.0pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:10.5pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoIndex8, li.MsoIndex8, div.MsoIndex8
	{mso-style-update:auto;
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:88.0pt;
	margin-bottom:.0001pt;
	text-indent:-11.0pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:10.5pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoIndex9, li.MsoIndex9, div.MsoIndex9
	{mso-style-update:auto;
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:99.0pt;
	margin-bottom:.0001pt;
	text-indent:-11.0pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:10.5pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText
	{margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoHeader, li.MsoHeader, div.MsoHeader
	{margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	tab-stops:center 207.65pt right 415.3pt;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoFooter, li.MsoFooter, div.MsoFooter
	{margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	tab-stops:center 207.65pt right 415.3pt;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoIndexHeading, li.MsoIndexHeading, div.MsoIndexHeading
	{mso-style-next:"Index 1";
	margin-top:12.0pt;
	margin-right:0in;
	margin-bottom:6.0pt;
	margin-left:0in;
	text-align:center;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:15.5pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;
	font-weight:bold;}
span.MsoFootnoteReference
	{vertical-align:super;}
span.MsoEndnoteReference
	{vertical-align:super;}
p.MsoEndnoteText, li.MsoEndnoteText, div.MsoEndnoteText
	{margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoTitle, li.MsoTitle, div.MsoTitle
	{margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:windowtext;
	font-weight:bold;
	mso-bidi-font-weight:normal;}
p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
	{margin-top:0in;
	margin-right:-.35pt;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;}
p.MsoBodyTextIndent, li.MsoBodyTextIndent, div.MsoBodyTextIndent
	{margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:13.5pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-indent:.65pt;
	mso-pagination:widow-orphan;
	mso-layout-grid-align:none;
	text-autospace:none;
	font-size:9.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;}
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
	{margin-top:0in;
	margin-right:-.35pt;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	mso-pagination:widow-orphan;
	border:none;
	mso-border-top-alt:solid windowtext 1.5pt;
	mso-border-bottom-alt:solid windowtext 1.5pt;
	padding:0in;
	mso-padding-alt:1.0pt 0in 1.0pt 0in;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;}
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
	{margin:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	mso-pagination:widow-orphan;
	font-size:9.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;}
p.MsoBodyTextIndent2, li.MsoBodyTextIndent2, div.MsoBodyTextIndent2
	{margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:13.5pt;
	margin-bottom:.0001pt;
	text-align:justify;
	mso-pagination:widow-orphan;
	mso-layout-grid-align:none;
	text-autospace:none;
	font-size:9.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;
	mso-ansi-language:EN-GB;}
p.MsoBodyTextIndent3, li.MsoBodyTextIndent3, div.MsoBodyTextIndent3
	{margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:9.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
p.MsoBlockText, li.MsoBlockText, div.MsoBlockText
	{margin-top:0in;
	margin-right:-.35pt;
	margin-bottom:0in;
	margin-left:3.5in;
	margin-bottom:.0001pt;
	text-align:justify;
	text-indent:-3.5in;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-parent:"";
	color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;
	text-underline:single;}
strong
	{mso-bidi-font-weight:normal;}
em
	{mso-bidi-font-style:normal;}
p.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap
	{margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	background:navy;
	font-size:11.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:Tahoma;
	mso-fareast-font-family:"Times New Roman";
	mso-bidi-font-family:"Times New Roman";
	color:black;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
	{margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Courier New";
	mso-fareast-font-family:"Times New Roman";
	mso-bidi-font-family:"Times New Roman";
	color:windowtext;
	mso-ansi-language:EN-GB;}
p
	{margin-right:0in;
	mso-margin-top-alt:auto;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:black;}
span.Typewriter
	{mso-style-name:Typewriter;
	mso-style-parent:"";
	mso-ansi-font-size:10.0pt;
	mso-ascii-font-family:"Courier New";
	mso-hansi-font-family:"Courier New";}
span.l
	{mso-style-name:l;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
@page Section2
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section2
	{page:Section2;}
 /* List Definitions */
@list l0
	{mso-list-id:929120181;
	mso-list-type:simple;
	mso-list-template-ids:134807567;}
@list l0:level1
	{mso-level-tab-stop:.25in;
	mso-level-number-position:left;
	margin-left:.25in;
	text-indent:-.25in;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1027"/>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1"/>
 </o:shapelayout></xml><![endif]-->
<!--[if gte mso 9]><xml>
 <u1:shapedefaults u2:ext="edit" spidmax="1027"/>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
 <u3:shapelayout u4:ext="edit">
  <u3:idmap u4:ext="edit" data="1"/>
 </u3:shapelayout>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
 <u1:shapedefaults u2:ext="edit" spidmax="1027"/>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
 <u3:shapelayout u4:ext="edit">
  <u3:idmap u4:ext="edit" data="1"/>
 </u3:shapelayout>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
 <u1:DocumentProperties>
  <u1:Author> </u1:Author>
  <u1:Template>Normal</u1:Template>
  <u1:LastAuthor> </u1:LastAuthor>
  <u1:Revision>1</u1:Revision>
  <u1:TotalTime>1</u1:TotalTime>
  <u1:Created>2005-01-15T18:13:00Z</u1:Created>
  <u1:LastSaved>2005-01-15T18:14:00Z</u1:LastSaved>
  <u1:Pages>234</u1:Pages>
  <u1:Words>4849</u1:Words>
  <u1:Characters>27640</u1:Characters>
  <u1:Company> </u1:Company>
  <u1:Lines>230</u1:Lines>
  <u1:Paragraphs>55</u1:Paragraphs>
  <u1:CharactersWithSpaces>33943</u1:CharactersWithSpaces>
  <u1:Version>9.2720</u1:Version>
 </u1:DocumentProperties>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
 <u2:WordDocument>
  <u2:DisplayHorizontalDrawingGridEvery>0</u2:DisplayHorizontalDrawingGridEvery>
  <u2:DisplayVerticalDrawingGridEvery>0</u2:DisplayVerticalDrawingGridEvery>
  <u2:UseMarginsForDrawingGridOrigin/>
  <u2:Compatibility>
   <u2:FootnoteLayoutLikeWW8/>
   <u2:ShapeLayoutLikeWW8/>
   <u2:AlignTablesRowByRow/>
   <u2:ForgetLastTabAlignment/>
   <u2:LayoutRawTableWidth/>
   <u2:LayoutTableRowsApart/>
  </u2:Compatibility>
 </u2:WordDocument>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
 <u3:shapedefaults u4:ext="edit" spidmax="1069"/>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
 <u5:shapelayout u6:ext="edit">
  <u5:idmap u6:ext="edit" data="1"/>
 </u5:shapelayout>
</xml><![endif]-->
</head>

<body bgcolor="#C0C0C0" link="#0000FF" vlink="#800080"
lang="EN-US" style="tab-interval:
.5in">
<div align="center"><center>

<table border="0" cellpadding="55" width="80%" bgcolor="#FFFFFF"
style="width:80.0%;
 mso-cellspacing:1.5pt;background:white;mso-padding-alt:75.0pt 75.0pt 75.0pt 75.0pt">
    <tr>
        <td><br clear="all"
        style="page-break-before:always;
  mso-break-type:section-break">
</span>        <p>&nbsp;<u5:p></u5:p></p>
        <p class="MsoNormal" style="margin-left:.5in"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1;border:none;mso-border-top-alt:solid windowtext 1.5pt;
  mso-border-bottom-alt:solid windowtext 1.5pt;padding:0in;mso-padding-alt:
  1.0pt 0in 1.0pt 0in"><b><span lang="EN-GB" style="font-size:72.0pt;mso-bidi-font-size:
  10.0pt;font-family:Desdemona;mso-ansi-language:EN-GB">7</span><span lang="EN-GB" style="font-size:72.0pt;mso-bidi-font-size:10.0pt;font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB">
</span>        </b><sup><b><span lang="EN-GB" style="font-size:48.0pt;
  mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Non-Determinism<u7:p></u7:p></span></b></sup></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-size:14.0pt;mso-bidi-font-size:10.0pt;font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><u><span lang="EN-GB" style="font-size:14.0pt;mso-bidi-font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">7.1
        Non-deterministic Algorithms_____________<u7:p></u7:p></span></u></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">An
        important class</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>class</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>of algorithms is the class of <b>non-deterministic</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'>non-deterministic</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold"><span style="mso-spacerun:
  yes">&nbsp;</span>algorithms</span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b>.
        In a deterministic algorithm, every step is determined
        and there is no possibility of choice.<span style="mso-spacerun: yes">&nbsp; </span>Non-deterministic
        algorithms present a series of steps in which, at some
        point, there is an undetermined choice as to what step to
        take out of a set of possibilities, and the algorithm
        leaves it to us to determine how the right choice is
        made. The stage of a non-deterministic algorithm where
        such a choice arises is called a <b>choice point</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>choice point</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b>. <u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">The
        problem in programming a non-deterministic</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>non-deterministic</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>algorithm
        into a computer is that computers do not <i>choose</i>
        anything; they only do what they are told to do.<span style="mso-spacerun:
  yes">&nbsp; </span>One
        way of representing non-determinism to a computer is to
        get it to order the choices available and to try each one
        in turn. If a choice turns out to be unsuccessful, then
        the computer <b>backtracks</b> to the choice point</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>choice point</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>and
        tries the next choice in the ordering. In this chapter,
        we will see how to do this in Qi through an examination
        of <b>backward chaining</b>.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><u><span lang="EN-GB" style="font-size:14.0pt;mso-bidi-font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">7.2
        Backward Chaining_____________________<u7:p></u7:p></span></u></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Suppose
        we given a set of assumptions to work with, where each
        assumption comes in one of three forms.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">1.
        <i>It is a statement that is symbolised by a symbol of
        some kind.<u7:p></u7:p></span></i></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></i></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">So
        the statement &#147;Water is composed of hydrogen and
        oxygen&#148; could be represented by p.<span style="mso-spacerun: yes">&nbsp; </span>Alternatively,
        we could adopt for &#147;Water is composed of hydrogen
        and oxygen&#148; some symbol that gives some clue as to
        what it symbolises (e.g. p<sub>water</sub>, or even
        water-is-composed-of-hydrogen-and-oxygen). The point is
        that the internal structure</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>structure</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>of the symbol is
        logically unimportant, rather like the <i>x</i>s and <i>y</i>s
        of algebra.<span style="mso-spacerun: yes">&nbsp; </span>We call these kinds of statement <b>atomic
        statements</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>atomic
  statements</span></b><b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></b><![endif]--><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold"><span style="mso-spacerun:
  yes">&nbsp;</span></span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>or simply <b>atoms</b>.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">2.<span style="mso-spacerun:
  yes">&nbsp;
</span>        <i>It is a statement of the form</i> (P &amp; Q) <i>where
        </i>P<i> and </i>Q<i> do not contain</i> </span><span lang="EN-GB" style="font-family:
  Symbol;mso-ansi-language:EN-GB">�.</span><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB"> <u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">This
        kind of statement is read as &#147;P and Q both
        hold&#148;.<span style="mso-spacerun: yes">&nbsp; </span>Call these statements <b>conjunction</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>conjunction</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold">s</span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b>.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">3.<span style="mso-spacerun:
  yes">&nbsp;
</span>        <i>It is a statement of the form </i>(P </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> Q), <i>where </i>P<i>
        is an atom and </i>Q<i> is an atom or a conjunction</span><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></i><i><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></i><b
  style='mso-bidi-font-weight:normal'><i><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'>conjunction</span></i></b><i><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></i><![endif]--><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></i><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-style:italic">.<u7:p></u7:p></span></span></i></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></i></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">This
        kind of statement is read as &#147;P holds if Q
        holds&#148; or &#147;If Q is true, so is P&#148;. Call
        these statements <b>implication</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>implication</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold">s</span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b>. <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Now
        suppose that every conclusion we wish to prove is either
        an atom or a conjunction</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>conjunction</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">, but which never contains any
        implication</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>implication</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">s (i.e. </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> is never found in a conclusion) and
        every assumption is either an implication or an atom.<span style="mso-spacerun:
  yes">&nbsp;
</span>        We now have a simple formal system for performing limited
        kinds of reasoning, <b>Maier</b> and <b>Warren</b> (1988)
        call this simple system <b>Proplog</span><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'>Proplog</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b>. A basic pattern
        of valid</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>valid</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>inference in Proplog is the following. <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Inference
        Pattern #1<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;letter-spacing:-.2pt;mso-ansi-language:EN-GB">Given,
        as an assumption, an implication</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  letter-spacing:-.2pt;mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  letter-spacing:-.2pt'> XE &quot;</span><b style='mso-bidi-font-weight:normal'><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";letter-spacing:-.2pt;mso-ansi-language:EN-GB'>implication</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  letter-spacing:-.2pt'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";letter-spacing:-.2pt;mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-.2pt;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>(P </span><span lang="EN-GB" style="font-family:Symbol;
  letter-spacing:-.2pt;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-.2pt;mso-ansi-language:EN-GB"> Q), you can
        prove P if you can prove Q</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">. <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">In
        addition, we have two more inference rules.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Inference
        Pattern #2<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">You
        can prove (P &amp; Q) if you can prove P and you can
        prove Q.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Inference
        Pattern #3<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Given
        an assumption P, you can prove P.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">These
        three simple patterns of inference can be combined within
        a simple procedure for proving a conclusion C from a list</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>list</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>of
        assumptions </span><span lang="EN-GB" style="font-family:
  Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB"> that are either atoms or implication</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>implication</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">s.<u7:p></u7:p><b>&nbsp;<u7:p></u7:p></span></b></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">A
        Backward Chaining Proof Procedure for Proplog</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'>Proplog</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Do
        until success or failure</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>failure</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">1.
</span><span lang="EN-GB" style="font-size:7.0pt;mso-ansi-language:EN-GB">        &nbsp;&nbsp; </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Begin with the conclusion P you are trying
        to prove.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">2.
</span><span lang="EN-GB" style="font-size:7.0pt;mso-ansi-language:EN-GB">        &nbsp;&nbsp; </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">If P is in </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> then P is proved (inference
        pattern</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>inference
  pattern</span><span style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>#3).<span style="mso-spacerun: yes">&nbsp; </span>If there are no more conclusions
        to prove, signal success and then stop.<span style="mso-spacerun: yes">&nbsp; </span>Otherwise,
        attempt to prove the next conclusion.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">3.
</span><span lang="EN-GB" style="font-size:7.0pt;mso-ansi-language:EN-GB">        &nbsp;&nbsp; </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">If the conclusion is a conjunction</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>conjunction</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>(P
        &amp; Q), prove P from </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> and prove Q from </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> (inference
        pattern</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>inference pattern</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>#2).<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">4.
</span><span lang="EN-GB" style="font-size:7.0pt;mso-ansi-language:EN-GB">        &nbsp;&nbsp; </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">If P is not in </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> but (P </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> Q) is in </span><span lang="EN-GB" style="font-family:
  Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB">, try
        to prove Q (inference pattern</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>inference
  pattern</span><span style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>#1).<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify"><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">5.
</span><span style="font-size:7.0pt">        &nbsp;&nbsp; </span><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">If P is an atom and P is not in </span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">D</span><span style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">, and (P </span><span style="font-family:Symbol">�</span><span style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">
        Q) is not in </span><span style="font-family:Symbol">D</span><span style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">, signal a failure<u7:p></u7:p></span><!--[if supportFields]><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'><span
  style='mso-element:field-begin'></span> XE &quot;<b style='mso-bidi-font-weight:
  normal'>failure</b>&quot; </span><![endif]--><!--[if supportFields]><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'><span
  style='mso-element:field-end'></span></span><![endif]--><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;"><span style="mso-spacerun: yes">&nbsp;</span>and then stop.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">This
        is a method of proving conclusions in Proplog</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">. This <b>proof
        procedure </b>works by starting with what has to be
        proved and working backwards until a conclusion is
        reached that can be directly proved from </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> by inference
        pattern</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>inference
  pattern</span><span style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>#3.<span style="mso-spacerun: yes">&nbsp; </span>This particular proof procedure is
        called <b>backward chaining</b>.</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>backward chaining</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span><u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;letter-spacing:-.1pt;mso-ansi-language:EN-GB">Here
        is a simple schematic problem to illustrate the approach.<span style="mso-spacerun: yes">&nbsp;
</span>        The assumptions are<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(q
</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">        �</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> p), (q </span><span lang="EN-GB" style="font-family:
  Symbol;mso-ansi-language:EN-GB">� </span><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB">r), (r </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:
  EN-GB">� </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(s &amp; t)), (r </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">� </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">u), (r </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">� </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">(s
        &amp; v)), v, s.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">We
        can prove q by backward chaining as follows:-<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Begin
        with q.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        Prove q by proving r.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>        Prove r by proving (s &amp; v).<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>        Prove s.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>        Prove v.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>        Signal success and halt.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">A
        proof like this is sometimes represented as a <b>proof
        tree</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span><span style='mso-bidi-font-weight:
  bold'> </span></span></b><b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>proof tree</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold"><span style="mso-spacerun:
  yes">&nbsp;</span></span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>(figure 7.1)<b> </b>in which the original
        problem is the root of the tree.<span style="mso-spacerun: yes">&nbsp; </span>The elements of
        the tree are <b>goal</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>goal</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold">s</span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b> (things we are trying to
        solve).<span style="mso-spacerun: yes">&nbsp; </span>When a goal is solved, we draw a line from
        it to a box </span><span lang="EN-GB" style="font-family:Wingdings;
  mso-ansi-language:EN-GB">p</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> which marks it as a <b>success node</b>.<span style="mso-spacerun: yes">&nbsp;
</span>        When a goal is replaced by <b>subgoal</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>subgoal</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b>(s) (as r is
        replaced by the subgoal (s &amp; v), we draw lines from
        the goal to the subgoals. </p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><img
        src="chap7.3.jpg" align="middle" width="237" height="442"></p>
        <p align="center"><br clear="all"
        style="mso-special-character:line-break;page-break-before:always">
        <i>Figure 7.1 A completed proof tree</i></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">The
        snag comes in programming the computer to do proofs like
        this, because in the above proof we unconsciously avoided
        the obvious dead ends (like trying to prove q by using q </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">
        p (figure 7.2)).<span style="mso-spacerun: yes">&nbsp; </span>These dead-ends are called <b>failure</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>failure</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold"><span style="mso-spacerun:
  yes">&nbsp;</span>nodes
</span></span><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB">        </b>and are sometimes marked by a single daughter node </span><span lang="EN-GB" style="font-family:Wingdings;mso-ansi-language:EN-GB">n</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">.
        <b><span style="mso-spacerun:
  yes">&nbsp;</span></b>A failure node is a node of the proof tree</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>proof tree</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>which
        cannot be closed with a </span><span lang="EN-GB" style="font-family:Wingdings;mso-ansi-language:EN-GB">p</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">, nor can it be extended to
        produce subgoal</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>subgoal</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'><span
  style="mso-spacerun: yes">&nbsp;</span>XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>goal</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">s.<span style="mso-spacerun:
  yes">&nbsp; </span>A proof tree cannot count as a
        complete</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>complete</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">d proof if it contains a failure node.</p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><img
        src="chap7.4.jpg" width="35" height="185"></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Figure
        7.2 A proof tree</span><!--[if supportFields]><i style='mso-bidi-font-style:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></i><i><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></i><b
  style='mso-bidi-font-weight:normal'><i><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'>proof tree</span></i></b><i><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></i><![endif]--><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></i><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-style:italic"><span style="mso-spacerun:
  yes">&nbsp;</span>with a failure</span></span><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></i><i><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></i><b
  style='mso-bidi-font-weight:normal'><i><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'>failure</span></i></b><i><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></i><![endif]--><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></i><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-style:italic"><span style="mso-spacerun:
  yes">&nbsp;</span>node<u7:p></u7:p></span></span></i></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Since
        the computer has no intelligence of its own, we need to
        program some technique into it to avoid being stuck in
        failure</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>failure</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>nodes.<span style="mso-spacerun: yes">&nbsp; </span>The problem is that our proof
        procedure is non-deterministic</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>non-deterministic</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">; it assumes that the right
        choice of rule is always made without providing any means
        of finding it.<span style="mso-spacerun: yes">&nbsp;&nbsp; </span>The solution we will follow is
        the one suggested in the opening of this chapter; we will
        order all the choices open to the computer and try each
        one in the ordering, backtracking</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span>
  </span><span style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'>XE &quot;</span><b style='mso-bidi-font-weight:normal'><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'>backtracking</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'><span
  style="mso-spacerun: yes">&nbsp;</span>XE &quot;</span><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>tracking</span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>if needed to try a
        new choice.<span style="mso-spacerun:
  yes">&nbsp; </span>The backtracking we will use will
        backtrack to the last point at which a goal</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>goal</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>was
        solved and look for new ways to solve it - such a form of
        backtracking is called <b>chronological backtracking</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>chronological
  backtracking</span></b><b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></b><![endif]--><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b>.<span style="mso-spacerun: yes">&nbsp;&nbsp;
</span>        But first, we have to see how to represent proofs of this
        kind to the computer.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><u><span lang="EN-GB" style="font-size:14.0pt;mso-bidi-font-size:10.0pt;font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB">7.3
        Representing Proof Trees_________________<u7:p></u7:p></span></u></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">At
        any stage in a backwards chaining proof, the computer
        will be trying to prove one or more goal</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>goal</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">s. A simple way
        of keeping track of them would be to place them all in a
        list</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>list</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">.<span style="mso-spacerun:
  yes">&nbsp; </span>It is a matter of choice which goal we try to
        prove, but a sensible strategy works from the front of
        the list, adding subgoal</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>subgoal</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">s to the front as they arise.<span style="mso-spacerun: yes">&nbsp;
</span>        Such a list is a <b>stack</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>stack</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b>; i.e. a series of elements
        in which elements are always added (push</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>push</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">ed) or removed
        (pop</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>pop</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">ped) from the front.<span style="mso-spacerun: yes">&nbsp; </span>A stack to keep track of
        goals in a proof is a <b>goal stack</b>.<span style="mso-spacerun: yes">&nbsp; </span>Every
        proof begins with the initial problem as the only goal on
        the goal stack. At any stage in the proof, the only
        available goal is the goal at the front of the stack.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">In
        our Proplog</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>example, if a goal</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>goal</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>is removed using
        inference pattern</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>inference
  pattern</span><span style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>#3, the stack</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>stack</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>gets shorter by
        one element.<span style="mso-spacerun:
  yes">&nbsp; </span>If a goal (P &amp; Q) is removed by
        inference pattern #2, then the subgoal</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>subgoal</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">s<b> </b>P and Q
        are push</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>push</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">ed on to the goal stack in reverse order (i.e. Q
        first, P last). The new stack is longer by one element (P
        being now the first goal of the new stack). If inference
        pattern #2 is used, then we have a goal P and a rule in
        our assumptions (P </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> Q).<span style="mso-spacerun: yes">&nbsp; </span>The goal P is pop</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>pop</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">ped from
        the head of the stack and the subgoal Q is pushed in its
        place.<span style="mso-spacerun: yes">&nbsp; </span>If the goal stack is empty then the proof is
        complete</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>complete</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">It
        is important to see the difference between a proof tree</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>proof tree</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>and
        a goal</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>goal</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>stack</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>stack</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">.<span style="mso-spacerun:
  yes">&nbsp; </span>A proof tree keeps the entire
        history of the proof process, including the goal that
        started the proof off. The goal stack only keeps those
        goals that remain to be solved. At the end of the proof,
        the proof tree is a record of the way the proof was done.<span style="mso-spacerun: yes">&nbsp;
</span>        At the end of proof, the goal stack is merely an empty
        stack. A proof tree does not correspond to a single
        stack, but rather a series of stacks, where each stack
        results from its predecessor by some act of inference.<span style="mso-spacerun: yes">&nbsp;
</span>        A goal stack is thus a snapshot of the leaves of a
        growing proof tree.<span style="mso-spacerun: yes">&nbsp; </span>This is illustrated in figure
        7.3, which shows how a proof tree changes and grows in
        relation to the goal stack</p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><img
        src="chap7.5.jpg" width="635" height="337"></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><u7:p></u7:p><i><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB">Figure
        7.3 Representing the state of a proof tree</span><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></i><i><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></i><b
  style='mso-bidi-font-weight:normal'><i><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'>proof tree</span></i></b><i><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></i><![endif]--><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></i><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-style:italic"><span style="mso-spacerun:
  yes">&nbsp;</span>using a
        stack</span></span><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></i><i><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></i><b
  style='mso-bidi-font-weight:normal'><i><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'>stack</span></i></b><i><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></i><![endif]--><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></i><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><u7:p></u7:p></span></i></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">The
        computational advantages of a goal</span><!--[if supportFields]><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>goal</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>stack</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>stack</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>are
        that it is simple to represent as a list</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>list</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">, and efficient
        in terms of memory usage, since it does not retain those
        parts of the proof tree</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>proof tree</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>which are irrelevant to the
        completion of the proof.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><u><span lang="EN-GB" style="font-size:14.0pt;mso-bidi-font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">7.4
        Chronological Backtracking</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><u><span lang=EN-GB style='font-size:
  14.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></u></b><b><u><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></u></b><b><u><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>tracking</span></u></b><b><u><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></u></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><u><span lang=EN-GB style='font-size:14.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></u></b><![endif]--><span lang="EN-GB" style="font-size:
  14.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold"><span style="mso-spacerun:
  yes">&nbsp;</span>in Qi__________<u7:p></u7:p></span></span></u></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Implementing
        a backward chaining inference engine of the kind needed
        is a ten line program in Qi. This economy of expression
        is possible because Qi has a built-in capacity to support
        backtracking</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>backtracking</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'><span
  style="mso-spacerun: yes">&nbsp;</span>XE &quot;</span><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>tracking</span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">.<span style="mso-spacerun:
  yes">&nbsp; </span>We can designate a choice point</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>choice point</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>by
        marking the rewrite rule that makes the choice for us. If
        this rewrite rule makes the wrong choice, we arrange for
        a special object to be returned called the <b>failure</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>failure</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold"><span style="mso-spacerun:
  yes">&nbsp;</span>object</span></span><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB"></b>.
        When the failure object is returned, Qi unwinds the
        computation back to the point at which the choice was
        made and tries the next rewrite rule (if any) after the
        marked rule. <u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Rewrite
        rules that mark choice point</span><!--[if supportFields]><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>choice point</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">s are signalled by the use of
        <b>&lt;-</b> instead of <b>-&gt;</b> within a function
        definition.<span style="mso-spacerun: yes">&nbsp; </span>The failure</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>failure</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>object in Qi is <b>#\Escape</b>.<span style="mso-spacerun:
  yes">&nbsp;
</span>        Using backtracking</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>backtracking</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'><span
  style="mso-spacerun: yes">&nbsp;</span>XE &quot;</span><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>tracking</span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">, it is easy to implement our inference
        engine.<span style="mso-spacerun: yes">&nbsp; </span>To make things even easier for us, we can
        amalgamate atoms and rules. The atom s is represented as
        the rule (s </span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">�)</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(i.e. s can be derived from nothing) and </span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">
        is represented as <b>&lt;=</b>.<span style="mso-spacerun: yes">&nbsp; </span>This gives economy
        in syntax</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>syntax</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>and shortens the program (figure 7.4).</span><a
        href="#_ftn1" name="_ftnref1"
        style="mso-footnote-id:ftn1" title><span class="MsoFootnoteReference"><span lang="EN-GB" style="font-family:Wingdings;
  mso-ansi-language:EN-GB">0</span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></a> <u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(define
        backchain <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        Conc Assumptions<span style="mso-spacerun:
  yes">&nbsp; </span>-&gt; (backchain* [Conc]
        Assumptions Assumptions))<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(define
        backchain* <u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        [] _ _ -&gt; proved <u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        [[P &amp; Q] | Goals] _ Assumptions <u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        -&gt; (backchain* [P Q | Goals] Assumptions Assumptions) <u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        [P | Goals] [[P &lt;= | Subgoal</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b style='mso-bidi-font-weight:
  normal'><span style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'> XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'>goal</span></b><b
  style='mso-bidi-font-weight:normal'><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></b><![endif]--><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold">s] | _] Assumptions <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span><span style="letter-spacing:-.5pt">        &lt;- (backchain* (append Subgoal</span></span><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.5pt;mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span></b><b
  style='mso-bidi-font-weight:normal'><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.5pt'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.5pt;mso-ansi-language:
  EN-GB'>goal</span></b><b style='mso-bidi-font-weight:normal'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  letter-spacing:-.5pt'>&quot; </span></b><![endif]--><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.5pt;mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;letter-spacing:-.5pt;mso-ansi-language:
  EN-GB"><span style="mso-bidi-font-weight:bold">s Goals) Assumptions
        Assumptions) <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        Goals [_ | Rest] Assumptions -&gt; (backchain* Goals Rest
        Assumptions) <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        _ _ _ -&gt; #\Escape) <u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Figure
        7.4 Backward chaining implemented for Proplog</span><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></i><i><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></i><i><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'>Proplog</span></i><i><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></i><![endif]--><!--[if supportFields]><i style='mso-bidi-font-style:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></i><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-style:italic"><span style="mso-spacerun:
  yes">&nbsp;</span>in </span></span><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB"></i>Qi</span><u6:p></u6:p><o:p></o:p></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><u7:p></u7:p><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">The
        top level</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>top level</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>of the program <b>backchain</b>, receives
        the conclusion to be proved and a list</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>list</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>of
        assumptions.<span style="mso-spacerun: yes">&nbsp; </span>Control is passed to <b>backchain*</b>
        which places the conclusion in a stack</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>stack</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>(<b>[Conc]</b>)
        and spreads the <b>Assumptions</b>; one version to
        process and one to remember the original. <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">backchain*</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>
        attempts to solve the problem. First, if the goal</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>goal</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>stack</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>stack</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>is
        empty, <b>proved</b> is returned - the problem is solved.<span style="mso-spacerun: yes">&nbsp;
</span>        Next, if the goal is a conjunction</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>conjunction</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">, we add each part of
        the conjunction to the goal stack.<span style="mso-spacerun: yes">&nbsp; </span>Third, if the
        leading goal is the atom at the head of the first
        implication in the list</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>list</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>of assumptions, (<b>[P |
        Goals] [[P &lt;= Subgoals]</b>) then the first inference
        pattern</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>inference
  pattern</span><span style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>is applied.<span style="mso-spacerun: yes">&nbsp; </span>That is, the goal <b>P</b>
        is removed and the subgoal</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>subgoal</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">s <b>Subgoals </b>are added to
        the goal stack and the whole goal stack is passed to <b>backchain*
        (...<span style="letter-spacing:-.5pt">(backchain* (append Subgoal</span></span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.5pt;mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span></b><b
  style='mso-bidi-font-weight:normal'><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.5pt'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.5pt;mso-ansi-language:
  EN-GB'>goal</span></b><b style='mso-bidi-font-weight:normal'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  letter-spacing:-.5pt'>&quot; </span></b><![endif]--><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.5pt;mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;letter-spacing:-.5pt;mso-ansi-language:
  EN-GB"><span style="mso-bidi-font-weight:bold">s Goals) Assumptions
        Assumptions)</span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">).</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes"></b>&nbsp; </span>The original list of assumptions
        is restored so that <b>backchain*</b> returns to the top
        of the list of assumptions looking for new ways to solve
        the new goal stack.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">But
        notice that <b><span style="letter-spacing:-.5pt">(backchain* (append Subgoal</span></span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.5pt;mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span></b><b
  style='mso-bidi-font-weight:normal'><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.5pt'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.5pt;mso-ansi-language:
  EN-GB'>goal</span></b><b style='mso-bidi-font-weight:normal'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  letter-spacing:-.5pt'>&quot; </span></b><![endif]--><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.5pt;mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;letter-spacing:-.5pt;mso-ansi-language:
  EN-GB"><span style="mso-bidi-font-weight:bold">s Goals)
        Assumptions Assumptions)</span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>is preceded by <b>&lt;-, </b>so
        that if this expression evaluates to the failure</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>failure</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>object
        <b>#\Escape</b>, then Qi will backtrack to the next line
        of <b>backchain*</b>. This is the line <b>Goals [_ |
        Rest]</b> <b>Assumptions -&gt; (backchain* Goals Rest
        Assumptions)</b>, in which<b> backchain*</b> recurses
        down the list</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>list</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>of assumptions looking for another
        implication - which is what we want. Finally, in the last
        line, since no other options are open, <b>#\Escape</b> is
        returned.<span style="mso-spacerun: yes">&nbsp; </span>Here is an example.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(5-)
        (backchain q [[q &lt;= p] [q &lt;= r] [r &lt;=]])<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">proved<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:1.0in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(6-)
        (backchain q [[q &lt;= p] [q &lt;= r]])<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">#\Escape<u7:p></u7:p><o:p></o:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify">&nbsp;<o:p></o:p></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><u><span lang="EN-GB" style="font-size:14.0pt;mso-bidi-font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">7.5
        Soundness and Completeness_____________<u7:p></u7:p></span></u></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Our
        little program is an example of an <b>inference engine</b>
        or <b>theorem</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>theorem</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold">-prover</span></span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span><span style='mso-bidi-font-weight:
  bold'> </span></span></b><b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>theorem-prover</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold"><span style="mso-spacerun:
  yes">&nbsp;</span></span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>for Proplog</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">.<span style="mso-spacerun:
  yes">&nbsp; </span>A
        theorem-prover is a program that is designed to automate
        the process by which conclusions are drawn from
        assumptions.<span style="mso-spacerun: yes">&nbsp;&nbsp; </span>Let us write </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;letter-spacing:-1.0pt;mso-ansi-language:EN-GB">|</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;letter-spacing:-1.1pt;mso-ansi-language:EN-GB">-</span><sub><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">
        Proplog</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB"></i></sub> </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">P to mean that from a list</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>list</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>of
        assumptions </span><span lang="EN-GB" style="font-family:
  Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB">, the conclusion P can be derived by the
        rules of inference for Proplog (i.e. the inference
        pattern</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>inference
  pattern</span><span style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">s #1, #2 and #3).<span style="mso-spacerun: yes">&nbsp; </span>Let us write </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-1.0pt;mso-ansi-language:EN-GB">|</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-1.1pt;mso-ansi-language:EN-GB">-</span><sub><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">
        program</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></i></sub> P when P can be derived from </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> using
        our program.<span style="mso-spacerun: yes">&nbsp; </span>What is the relation between <span style="letter-spacing:-1.0pt">|</span><span style="letter-spacing:-1.1pt">-</span><sub><i>
        Proplog</i></sub> and <span style="letter-spacing:-1.0pt">|</span><span style="letter-spacing:-1.1pt">-</span><sub><i> program</i></sub>?<span style="mso-spacerun: yes">&nbsp;
</span>        One desirable relations is<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">If
</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">        D </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-1.0pt;mso-ansi-language:EN-GB">|</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-1.1pt;mso-ansi-language:EN-GB">-</span><sub><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> program</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></i></sub> P then </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-1.0pt;mso-ansi-language:EN-GB">|</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-1.1pt;mso-ansi-language:EN-GB">-</span><sub><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">
        Proplog</span><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><sub><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span></sub></i><i><sub><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></sub></i><i><sub><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span></sub></i><i><sub><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></sub></i><![endif]--><!--[if supportFields]><i style='mso-bidi-font-style:
  normal'><sub><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></sub></i><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes"></i></sub>&nbsp;</span>P<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">This
        should certainly be true for any </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> and P; if our program
        says that P follows from </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:
  EN-GB">D,</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">then, according to the rules
        of inference for Proplog</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">, we should be able to derive P
        from </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:
  EN-GB">D.</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp; </span>A theorem</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>theorem</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">-prover</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>theorem-prover</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>which has this
        property is said to be <b>sound</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>sound</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b>.<span style="mso-spacerun: yes">&nbsp; </span>The converse
        relation is<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">If
</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">        D </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-1.0pt;mso-ansi-language:EN-GB">|</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-1.1pt;mso-ansi-language:EN-GB">-</span><sub><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> Proplog</span><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><sub><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span></sub></i><i><sub><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></sub></i><i><sub><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span></sub></i><i><sub><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></sub></i><![endif]--><!--[if supportFields]><i style='mso-bidi-font-style:
  normal'><sub><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></sub></i><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes"></i></sub>&nbsp;</span>P then </span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">D </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;letter-spacing:-1.0pt;mso-ansi-language:
  EN-GB">|</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;letter-spacing:-1.1pt;mso-ansi-language:
  EN-GB">-</span><sub><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">
        program</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></i></sub> P<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">A
        theorem</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>theorem</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">-prover</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>theorem-prover</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>with this property is said to be <b>complete</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>complete</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b>.<span style="mso-spacerun: yes">&nbsp;
</span>        Backward chaining with chronological backtracking</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>backtracking</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'><span
  style="mso-spacerun: yes">&nbsp;</span>XE &quot;</span><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>tracking</span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>is
        complete as a proof procedure provided that:-<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.75in;margin-bottom:.0001pt;text-align:justify;text-indent:
  -.25in;mso-list:l0 level1 lfo2;tab-stops:list .25in">1.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">        there is no proof tree</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>proof tree</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>which has a branch which can
        be grown to infinity and &#133;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.75in;margin-bottom:.0001pt;text-align:justify;text-indent:
  -.25in;mso-list:l0 level1 lfo2;tab-stops:list .25in">2.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">        &#133; at any stage in a proof there are only a finite
        number of ways that the proof tree can be grown. <u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Our
        theorem</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>theorem</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">-prover</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>theorem-prover</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>for Proplog</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>is sound</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>sound</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>but
        incomplete</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>complete</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>because condition 1. is not met.<span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        For example, the problem<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(backchain
        q<span style="mso-spacerun: yes">&nbsp; </span>[[q &lt;= p] [q &lt;= r] [r &lt;= q] [r &lt;= s
        t] <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:1.0in;margin-bottom:.0001pt;text-align:justify;text-indent:
  .5in"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">[r
        &lt;= u] [r &lt;= s v] [v &lt;=] [s &lt;=]])<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">causes
        an infinite</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>infinite</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>loop, even though the conclusion is
        derivable from the assumptions according to the rules of
        inference of Proplog</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">.<span style="mso-spacerun:
  yes">&nbsp;&nbsp; </span>The reason why is that
        assumptions #2 and #3 in this problem, namely<b> [q &lt;=
        r] and [r &lt;= q], </b>are used by our theorem</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>theorem</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">-prover</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>theorem-prover</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>to
        backward chain from q to form a branch which can be
        infinitely extended. <font size="2"
        face="Microsoft Sans Serif">The construction of a
        complete theorem-prover for Proplog is left as an
        exercise at the end of this chapter.</font></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><u><span lang="EN-GB" style="font-size:14.0pt;mso-bidi-font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">7.6
        Writing Refinement Rules: a Preview_______<u7:p></u7:p></span></u></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">We
        have approached the idea of proof in Proplog</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>in an
        informal manner.<span style="mso-spacerun:
  yes">&nbsp; </span>But when we wish to formally
        define the conditions under which a statement P can be
        proved, we lay down a set </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">G</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> of <b>refinement</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>refinement</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:bold"><span style="mso-spacerun:
  yes">&nbsp;</span>rules</span></span><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB"></b>.<span style="mso-spacerun: yes">&nbsp;
</span>        P is provable just when P follows from the refinement
        rules in </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">G</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">.<span style="mso-spacerun: yes">&nbsp; </span>Actually, when we say that P is <i>provable</i>,
        this is really a shorthand way of saying that P is
        provable from some set </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">of assumptions according to some
        set </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">G</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> of refinement rules.<span style="mso-spacerun: yes">&nbsp; </span>A pair composed of a set
        of assumptions </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:
  EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">and a conclusion P is called a <b>sequent</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>sequent</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b>,
        and we represent this<b> </b>as<b> </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB"></b>D<b> </b>&gt;&gt; </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">P.<a
        href="#_ftn2" name="_ftnref2"
        style="mso-footnote-id:ftn2" title><span class="MsoFootnoteReference"><span style="mso-special-character:footnote">[1]</span></span><span class="MsoFootnoteReference"></a>[1][1][1]</span><span style="mso-spacerun:
  yes">&nbsp;
</span>        We say that a sequent is <b>provable</b> just when we can
        prove P from</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:
  EN-GB"> D<b> </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>using the refinement rules for </span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">G</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">. <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">We
        write &#147;</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-1.0pt;mso-ansi-language:EN-GB">|</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-1.1pt;mso-ansi-language:EN-GB">-</span><sub><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB"> G</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB"></sub> </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">P&#148; to mean &#147;P is
        provable from </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">according to the refinement rules of </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">G</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&#148;.
</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">        &nbsp;</span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;letter-spacing:-1.0pt;mso-ansi-language:
  EN-GB">|</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;letter-spacing:-1.1pt;mso-ansi-language:
  EN-GB">-</span><sub><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:
  EN-GB"> G</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></sub> is our provability</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>provability</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>relation.<a
        href="#_ftn3" name="_ftnref3"
        style="mso-footnote-id:ftn3" title><span class="MsoFootnoteReference"><span style="mso-special-character:footnote">[2]</span></span><span class="MsoFootnoteReference"></a>[2][2][2]</span><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        The job of a set of refinement rules is to define this
        relation of provability and so determine exactly what
        sequents are provable and what are not.<span style="mso-spacerun: yes">&nbsp; </span>Suppose we
        return to Proplog.<span style="mso-spacerun: yes">&nbsp; </span>Our first rule of inference was<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Inference
        Pattern #1<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Given,
        as an assumption, an implication</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>implication</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>of the form (P </span><span lang="EN-GB" style="font-family:
  Symbol;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB">
        Q), you can prove P if you can prove Q.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">In
        other words, given any sequent</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>sequent</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span></span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">D </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&gt;&gt;</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB"> </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">P to
        prove, where (P </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> Q) </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">D, </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">this sequent can be proved if
        the sequent </span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">D </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&gt;&gt; Q can be proved.<span style="mso-spacerun: yes">&nbsp; </span>We can
        write this as<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">where
        (P </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> Q) </span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><u><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D
        &gt;&gt; </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Q;<u7:p></u7:p></span></u></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D
        &gt;&gt; </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">P;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">The
        convention is that a line ________ is drawn between what
        is to be proved (which goes below the line) and what is
        needed to prove it (which goes above the line).<span style="mso-spacerun:
  yes">&nbsp; </span>We
        may also add special conditions (written in a
        quasi-formal English) like &#147;where (P </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> Q) </span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&#148;
        to explain our refinement</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>refinement</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>rule.<span style="mso-spacerun: yes">&nbsp;&nbsp; </span>These
        special conditions are known as <b>side conditions</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b
  style='mso-bidi-font-weight:normal'><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>side condition<span style='mso-bidi-font-weight:
  bold'>&quot; </span></span></b><![endif]--><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>to
        the refinement rule.<span style="mso-spacerun: yes">&nbsp; </span>The P and Q are variables that
        stand for any Proplog</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>formulae.<span style="mso-spacerun: yes">&nbsp; </span>Rather than
        including &#147;(P </span><span lang="EN-GB" style="font-family:
  Symbol;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB"> Q) </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:
  EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&#148; as a side condition,
        it is more usual to place the &#147;(P </span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Q)&#148; to the
        left of the &gt;&gt;</span><span lang="EN-GB" style="font-family:Terminal;
  mso-ansi-language:EN-GB"> </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">that occurs below the line.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><u><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(P
</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">        �</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> Q), </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D &gt;&gt; </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Q;<u7:p></u7:p></span></u></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(P
</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">        �</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> Q), </span><span lang="EN-GB" style="font-family:
  Symbol;mso-ansi-language:EN-GB">D &gt;&gt; </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">P;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">T</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">he
        refinement</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>refinement</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>rule indicates that (P </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">�</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> Q) must be
        present in the assumptions</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>sequent</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>for the refinement rule
        to apply.<span style="mso-spacerun:
  yes">&nbsp; </span>The &#147;</span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&#148; is simply a reminder
        that there may be other assumptions present.<span style="mso-spacerun: yes">&nbsp; </span>Once
        we are used to rendering these refinement rules, such a
        reminder is generally not necessary and so we can simply
        omit &#147;</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:
  EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&#148; and write<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB"><span style="mso-tab-count:1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><u7:p></u7:p></span><span lang="EN-GB" style="mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">        &nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><u><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(P
</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">        �</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> Q) &gt;&gt;<span style="mso-spacerun: yes">&nbsp; </span>Q;<u7:p></u7:p></span></u></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(P
</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">        �</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> Q) &gt;&gt; P;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Now
        for the second inference pattern</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>inference
  pattern</span><span style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Inference
        Pattern #2<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">You
        can prove (P &amp; Q) if you can prove P and you can
        prove Q.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">The
        kind of sequent</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>sequent</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>that inference pattern</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>inference
  pattern</span><span style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>#2 is
        used to prove is one of the form </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> </span><span lang="EN-GB" style="font-family:Terminal;mso-ansi-language:EN-GB">&gt;&gt;</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> (P &amp; Q).<span style="mso-spacerun: yes">&nbsp;
</span>        Thus the form of refinement</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>refinement</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>rule determined by this
        inference pattern is <u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><u><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&#133;&#133;&#133;&#133;&#133;.</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></u>
<u7:p></u7:p></span>        </p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">
        &gt;&gt;</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB"> </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">(P &amp; Q);<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">where
        &#133;&#133;&#133;&#133;&#133;. remains to be filled in.<span style="mso-spacerun: yes">&nbsp;
</span>        The inference pattern</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>inference
  pattern</span><span style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>says </span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> &gt;&gt; (P &amp; Q)
        can be solved if </span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> &gt;&gt; P and </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> &gt;&gt; Q can be
        solved, so &#133;&#133;&#133;&#133;&#133;. is filled in
        by </span><span lang="EN-GB" style="font-family:Symbol;
  mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> &gt;&gt; P; </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> </span><span lang="EN-GB" style="font-family:Terminal;mso-ansi-language:EN-GB">&gt;&gt;</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> Q.<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><u><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></u></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><u><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">
        &gt;&gt; P; </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> &gt;&gt; Q;<u7:p></u7:p></span></u></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">
        &gt;&gt; (P &amp; Q);<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Finally
        we can simply drop the </span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">, taking it as read and simply
        write<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><u><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">P;
        Q;<u7:p></u7:p></span></u></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(P
        &amp; Q);<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Inference
        Pattern #3<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Given
        an assumption P, you can prove P.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">This
        is written<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">________<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">P,
</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">        D &gt;&gt; </span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>P;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">There
        are no schemes above the line ______ in this case, since
        this inference pattern</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>inference
  pattern</span><span style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>allows the unconditional
        solution of sequent</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>sequent</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">s of a certain pattern.<span style="mso-spacerun: yes">&nbsp;&nbsp; </span>Again
</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">        D</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"> can be dropped and the refinement</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>refinement</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>rule can be
        written as<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center"><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">_______<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">P
</span><span lang="EN-GB" style="font-family:Symbol;mso-ansi-language:EN-GB">        &gt;&gt;</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"> P;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Refinement
        rules are standard notation for expressing the concept of
        provability</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>provability</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>in many different proof systems</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>proof systems</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; \b </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>and
        they play an important part in this book.<span style="mso-spacerun: yes">&nbsp; </span>We shall
        return to them again in chapter 11.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><u><span lang="EN-GB" style="font-size:14.0pt;mso-bidi-font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">7.7
        Selecting the Failure Object_______________<u7:p></u7:p></span></u></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">By
        default the failure</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>failure</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>object is <b>#\Escape</span><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>.<span style="mso-spacerun: yes">&nbsp;
</span></span>        <b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">fail-if</span><span lang="EN-GB" style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB"></b> is a way of invoking backtracking</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>backtracking</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'><span
  style="mso-spacerun: yes">&nbsp;</span>XE &quot;</span><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>tracking</span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>which
        allows us to choose the nature of the failure object.<span style="mso-spacerun: yes">&nbsp;
</span>        <b>fail-if</b> is a higher-order</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>higher-order</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>function that takes
<u7:p></u7:p></span>        </p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">1.
        A 1-place function <i>f .<u7:p></u7:p></span></i></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">2.
        An expression <i>E.<u7:p></u7:p></span></i></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">and
        then returns<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">1.
        The failure</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>failure</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>object if (<i>f E</i>) evaluates to
        true.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">2.
        The normal form</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>normal form</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>of <i>E </i>if (<i>f E</i>)
        evaluates to false.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">To
        illustrate the use of <b>fail-if</b>, suppose we have
        written two programs to solve problems in abstract
        algebra.<span style="mso-spacerun: yes">&nbsp; </span>The first uses intelligent techniques that
        mimic the way a mathematician might think; the second
        uses brute force and computer speed.<span style="mso-spacerun:
  yes">&nbsp; </span>In each case
        the sign of success is that the machine reduces problem
        to one of self-identity (so the problem (x </span><span lang="EN-GB" style="font-family:Garamond;mso-ansi-language:EN-GB">o</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">x<sup>-1</sup>)
        = e can be reduced e = e). We observe that some problems
        that evade the first approach fall to second, and so we
        resolve to combine the two programs.<span style="mso-spacerun: yes">&nbsp; </span>We attempt to
        use intelligent techniques if possible, and if not, to
        backtrack</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>backtracking</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'><span
  style="mso-spacerun: yes">&nbsp;</span>XE &quot;</span><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>tracking</span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>to the start and using brute force.<span style="mso-spacerun: yes">&nbsp; </span>The
        sign of failure</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>failure</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>on the part of our
        &#147;intelligent&#148; program that it fails to return a
        self-identity. Thus, it is useful to change the failure
        object so that a non-self-identity object would cause
        failure and trigger backtracking.<span style="mso-spacerun: yes">&nbsp; </span><b>fail-if</b>
        supplies this need.<span style="mso-spacerun: yes">&nbsp; </span>The top level</span><!--[if supportFields]><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>top level</span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>of our
        program appears in figure 7.5.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(define
        solve-abstract-algebra <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;&nbsp;
</span>        Equation &lt;- (fail-if (/. X (not (self-identity X))) <u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:1.0in;margin-bottom:.0001pt;text-align:justify;text-indent:
  .5in"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>        (try-intelligent-techniques Equation)) <u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;&nbsp;
</span>        Equation -&gt; (try-brute-force Equation))<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(define
        self-identity <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        [X = X] -&gt; true <span style="mso-spacerun:
  yes">&nbsp;</span><u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        _ -&gt; false)<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Figure
        7.5 The top level</span><!--[if supportFields]><i style='mso-bidi-font-style:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></i><i><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></i><i><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'>top level</span></i><i><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></i><![endif]--><!--[if supportFields]><i style='mso-bidi-font-style:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></i><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-style:italic"><span style="mso-spacerun:
  yes">&nbsp;</span>of an abstract algebra program
        using </span></span></i><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">fail-if<u7:p></u7:p></span></b></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></i></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">fail-if</span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>
        is a powerful means of controlling backtracking</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>backtracking</span></b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'><span
  style="mso-spacerun: yes">&nbsp;</span>XE &quot;</span><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>tracking</span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>which
        allows the elements of an infinite</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>infinite</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">ly large class</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>class</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>to
        count as failure</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>failure</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>objects.<span style="mso-spacerun: yes">&nbsp; </span>In the Proplog</span><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>program,
        we relied on having an explicit goal</span><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>goal</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>stack</span><!--[if supportFields]><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>stack</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;</span>to
        hold the unsolved goals.<span style="mso-spacerun:
  yes">&nbsp; </span>Another way of writing the
        same program would be to split goals of the form P &amp;
        Q into two separate processes - a process that tries to
        prove P and a process that tries to prove Q.<span style="mso-spacerun: yes">&nbsp;&nbsp; </span>It
        is logical to &#147;and&#148; these processes together so
        that if the attempt to prove P succeeds, <b>true</b> is
        returned and likewise for Q.<span style="mso-spacerun: yes">&nbsp; </span>If either attempt
        fails, then we return <b>false</b>.<span style="mso-spacerun:
  yes">&nbsp;&nbsp; </span>This
        means that failure is not a matter of returning <b>#\Escape</b>,
        but <b>false</b>.<span style="mso-spacerun: yes">&nbsp; </span>Therefore, we change the identity
        of the failure object to make <b>false</b> the failure
        object by using <b>fail-if</b> (figure 7.6).</span><a
        href="#_ftn4" name="_ftnref4"
        style="mso-footnote-id:ftn4" title><span class="MsoFootnoteReference"><span lang="EN-GB" style="font-family:Wingdings;
  mso-ansi-language:EN-GB">0</span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></a>It is now
        convenient to represent the atom p as <b>p</b> instead of
        <b>[p &lt;=].<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span><span lang="EN-GB" style="mso-ansi-language:EN-GB"><br
        clear="all"
        style="mso-special-character:
  line-break;page-break-before:always">
</span>        </p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(define
        backchain <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        Conc Assumptions<span style="mso-spacerun:
  yes">&nbsp;&nbsp; </span>-&gt; (backchain* Conc
        Assumptions Assumptions))<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">(define
        backchain*<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        P [P | _] _ -&gt; true<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        [P &amp; Q] _ Assumptions<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        -&gt; (and (backchain* P Assumptions Assumptions)<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>        (backchain* Q Assumptions Assumptions))<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        P [[P &lt;= Q] | _] Assumptions<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        &lt;- (fail-if (/. X (= X false)) (backchain* Q
        Assumptions Assumptions))<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        P [_ | Rest] Assumptions<span style="mso-spacerun:
  yes">&nbsp; </span>-&gt; (backchain* P Rest
        Assumptions)<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun:
  yes">&nbsp;&nbsp;
</span>        _ _ _ -&gt; false)<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><b><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></b></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">Figure
        7.6 Backward chaining for Proplog</span><!--[if supportFields]><i
  style='mso-bidi-font-style:normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></i><i><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></i><i><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'>Proplog</span></i><i><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></i><![endif]--><!--[if supportFields]><i style='mso-bidi-font-style:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></i><![endif]--><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-style:italic"><span style="mso-spacerun:
  yes">&nbsp;</span>implemented in </span></span><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></i>Qi<i>
        using fail-if<u7:p></u7:p></span></i></p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1"><i><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></i></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><u><span lang="EN-GB" style="font-size:14.0pt;mso-bidi-font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">7.8
        The Static Elimination of Backtracking in <span style="mso-bidi-font-style:italic">Qi<u7:p></u7:p></span></span></u></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><u><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></u></b></p>
        <p class="MsoBodyText"
        style="margin-left:.5in;mso-outline-level:1"><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">The
        backtracking constructions that use <b>&lt;-</b> are <b>statically
        eliminable</span><!--[if supportFields]><b><span
  lang=EN-GB style='font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-begin'></span>
  XE &quot;statically eliminable&quot; </span></b><![endif]--><!--[if supportFields]><b><span
  lang=EN-GB style='font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"></b>; that is, in the absence of side-effects,
        they can be compiled away without losing any of the
        meaning of these constructions.<span style="mso-spacerun: yes">&nbsp; </span>A backtracking
        construction using <b>&lt;-</b> without <b>fail-if</b>
        can be eliminated through the following equivalence.<u7:p></u7:p></span></p>
        <p class="MsoBodyText"
        style="margin-left:.5in;mso-outline-level:1"><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">&nbsp;<u7:p></u7:p></span></p>
        <p align="center" class="MsoNormal"
        style="margin-left:.5in;text-align:center;
  mso-layout-grid-align:none;text-autospace:none"><b><span style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">P</b><sub><b>1</b></sub><b>,&#133;,P</b><sub><b>n</b></sub><b>
        &lt;- R </span><span style="mso-bidi-font-size:12.0pt;font-family:Symbol"></b>�</span><span style="font-size:12.0pt;font-family:Symbol"> </span><b><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">P</b><sub><b>1</b></sub><b>,&#133;,P</b><sub><b>n</b></sub><b>
        -&gt; R<span style="mso-tab-count:1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>where (not (= R
        #\Escape))<u7:p></u7:p></span></b></p>
        <p align="center" class="MsoBodyText"
        style="margin-left:.5in;text-align:center;
  mso-outline-level:1"><b><span style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"><span style="mso-spacerun:
  yes">&nbsp;</span><u7:p></u7:p></span></b></p>
        <p class="MsoBodyText"
        style="margin-left:.5in;mso-outline-level:1"><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">Whereas a
        backtracking construction that uses </span><b><span style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-US">fail-if</span><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"></b> can be
        eliminated through this equivalence.<u7:p></u7:p></span></p>
        <p class="MsoBodyText"
        style="margin-left:.5in;mso-outline-level:1"><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">&nbsp;<u7:p></u7:p></span></p>
        <p align="center" class="MsoBodyText"
        style="margin-left:.5in;text-align:center;
  mso-outline-level:1"><b><span lang="EN-GB" style="font-size:10.0pt;font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">P</span></b><sub><b><span style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-US">1</span><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"></b></sub><b>,&#133;,P</span></b><sub><b><span style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-US">n</span><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"></b></sub><b>
        &lt;- (fail-if F R) </span><span lang="EN-GB" style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
  Symbol;color:windowtext"></b>�</span><b><span lang="EN-GB" style="font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;"> P</span></b><sub><b><span style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-US">1</span><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"></b></sub><b>,&#133;,P</span></b><sub><b><span style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-US">n</span><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"></b></sub><b>
        -&gt; R<span style="mso-tab-count:
  1">&nbsp;&nbsp; </span>where (not (F R))<u7:p></u7:p></span></b></p>
        <p class="MsoBodyText"
        style="margin-left:.5in;mso-outline-level:1"><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoBodyText"
        style="margin-left:.5in;mso-outline-level:1"><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">The
        declarative meaning of the program is not changed in this
        transformation, but the performance is affected.<span style="mso-spacerun: yes">&nbsp; </span>The
        result <b>R</b> returned from each rewrite rule is
        evaluated twice in the right-hand side of the
        equivalence, but only once on the left hand side.<span style="mso-spacerun:
  yes">&nbsp; </span>This
        means that these equivalences, as they stand, do not
        provide a tenable model for compiling backtracking
        constructions.<span style="mso-spacerun: yes">&nbsp; </span>In order to serve this role, the
        compiled code needs to memoise the normal form of <b>R</b>
        and use it again. In the internals of the compilation of <span style="mso-bidi-font-style:italic">Qi</span>,
        this is exactly what happens.<a href="#_ftn5"
        name="_ftnref5" style="mso-footnote-id:ftn5" title><span class="MsoFootnoteReference"><span style="mso-special-character:footnote">[3]</span></span><span class="MsoFootnoteReference"></a>[3][3][3]<u7:p></u7:p></span></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><u><span lang="EN-GB" style="font-size:14.0pt;mso-bidi-font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">Exercise
        7_________________________________</span></u></b><b><span lang="EN-GB" style="font-size:14.0pt;mso-bidi-font-size:10.0pt;font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:
  EN-GB"> <u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify">1.<span style="font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">        Write a complete</span><!--[if supportFields]><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>complete</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>theorem</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>theorem</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">-prover</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>theorem-prover</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>for Proplog</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">. <u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:38.25pt;margin-bottom:.0001pt;text-align:justify">&nbsp;<o:p></o:p></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify">2.<span style="font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">        A <b>non-deterministic</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'> </span></b><b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>XE &quot;</span></b><b><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'>non-deterministic</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:
  bold"><span style="mso-spacerun: yes">&nbsp;</span>finite state machine</span></span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>finite state
  machine</span></b><b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></b><![endif]--><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>(NDFSM)
        is a machine that reads a series of symbols and decides
        whether to accept or reject that series. A NDFSM has a
        number of states and upon receipt of a symbol will change
        from being in one state to being in another. There is a
        privileged set of states called <b>final states</b> and
        if the automaton is in one of these states when it
        finishes reading a series then it accepts that series,
        otherwise it rejects it.<span style="mso-spacerun: yes">&nbsp; </span>If there is one state that
        has to be chosen in order for the whole list</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><span lang=EN-GB
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>list</span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>to be
        accepted, then the NDFSM will choose that state and not
        one that will cause the list to be rejected. The
        operation of a NDFSM can be represented by a labelled
        directed graph in which the nodes of the graph represent
        the states of the NDFSM, and the labels on the arcs are
        the inputs required to get the NDFSM to jump from one
        state to the next.<span style="mso-spacerun: yes">&nbsp; </span>The figure below shows a NDFSM
        as a labelled directed graph. </p>
        <p align="center" class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify"><img
        src="chap7.6.jpg" width="461" height="378"></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:38.25pt;margin-bottom:.0001pt;text-align:justify">&nbsp;<span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">There
        is one final state in this NDFSM, state 4. Initially the
        NDFSM is in state 1. This automaton accepts the<span style="mso-spacerun: yes">&nbsp; </span>input<span style="mso-spacerun: yes">&nbsp;
</span>        <i>a b a b a c</i> in the following way.<span style="mso-spacerun: yes">&nbsp; </span>The input <i>a</i>
        causes the automaton to go to state 2, the<i> b</i> to
        state 1, the <i>a</i> to state 2, the b to state 1, the <i>a</i>
        to state 3 and the <i>c</i> to state 4. Write a program
        to simulate this NDFSM. <u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:52.45pt;margin-bottom:.0001pt;text-align:justify">&nbsp;<o:p></o:p></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.75in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">The
        next problems are all taken from Werner Hett</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Hett</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&#146;s web
        site of </span><i><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">Ninety-Nine Prolog</span><!--[if supportFields]><i><span style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'><span style='mso-element:field-begin'></span></span></i><i><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></i><b style='mso-bidi-font-weight:normal'><i><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Prolog</span></i></b><i><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></i><![endif]--><!--[if supportFields]><i><span style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'><span style='mso-element:field-end'></span></span></i><![endif]--><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"><span style="mso-spacerun:
  yes">&nbsp;</span>Problems</span><span lang="EN-GB" style="font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></i>.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:52.45pt;margin-bottom:.0001pt;text-align:justify">&nbsp;<o:p></o:p></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify">3.<span style="font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>        <b><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">The eight queens problem</span><!--[if supportFields]><b><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>eight queens
  problem</span></b><b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></b><![endif]--><!--[if supportFields]><b><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">.</span><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b> This is a classical
        problem in computer science. The objective is to place
        eight queens on a chessboard so that no two queens are
        attacking each other; i.e., no two queens are in the same
        row, the same column, or on the same diagonal.<span style="mso-spacerun: yes">&nbsp; </span>Write
        a program that computes all the solutions for this
        problem.<span style="mso-spacerun: yes">&nbsp; </span>Your program will systematically place
        queens and force a backtrack when a queen cannot be added
        to the board without attacking another queen already on
        it.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:38.25pt;margin-bottom:.0001pt;text-align:justify">&nbsp;<o:p></o:p></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify">4.<span style="font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>        <b><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">The knight's tour</span><!--[if supportFields]><b><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'> XE &quot;</span></b><b><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>knight's tour</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">.<span style="mso-spacerun: yes">&nbsp; </span></span><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>Another famous problem is
        this one: how can a knight jump on a chessboard in such a
        way that it visits every square exactly once?<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify">5.<span style="font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">        *</span><b><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">Graceful labeling problem</span><!--[if supportFields]><b><span
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b><span style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>Graceful
  labeling problem</span></b><b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></b><![endif]--><!--[if supportFields]><b><span
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-end'></span></span></b><![endif]--><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"></b>.<span style="mso-spacerun:
  yes">&nbsp; </span>This problem is
        taken from<b> </b>Werner Hett</span><!--[if supportFields]><span
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:
  10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>Hett</span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-end'></span></span><![endif]--><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"><span style="mso-spacerun:
  yes">&nbsp;</span>who records.<u7:p></u7:p></span></p>
        <p class="MsoBodyTextIndent3" style="margin-left:74.25pt">&nbsp;<o:p></o:p></p>
        <p class="MsoBodyTextIndent3" style="margin-left:99.0pt"><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">&#147;Several
        years ago I met a mathematician who was intrigued by a
        problem for which he didn't know a solution. His name was
        Von Koch, and I don't know whether the problem has been
        solved since. <u7:p></u7:p></span><u5:p></u5:p><u6:p></u6:p><o:p></o:p></p>
        <p><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;
font-family:&quot;Microsoft Sans Serif&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;;
mso-bidi-font-family:&quot;Times New Roman&quot;;color:black;mso-ansi-language:EN-US;
mso-fareast-language:EN-US;mso-bidi-language:AR-SA"><!--[if gte vml 1]><v:shapetype
 id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
 path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
 <v:stroke joinstyle="miter"/>
 <v:formulas>
  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
  <v:f eqn="sum @0 1 0"/>
  <v:f eqn="sum 0 0 @1"/>
  <v:f eqn="prod @2 1 2"/>
  <v:f eqn="prod @3 21600 pixelWidth"/>
  <v:f eqn="prod @3 21600 pixelHeight"/>
  <v:f eqn="sum @0 0 1"/>
  <v:f eqn="prod @6 1 2"/>
  <v:f eqn="prod @7 21600 pixelWidth"/>
  <v:f eqn="sum @8 21600 0"/>
  <v:f eqn="prod @7 21600 pixelHeight"/>
  <v:f eqn="sum @10 21600 0"/>
 </v:formulas>
 <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
 <o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style='width:204.75pt;
 height:104.25pt;mso-wrap-distance-left:15pt;mso-wrap-distance-top:7.5pt;
 mso-wrap-distance-right:15pt;mso-wrap-distance-bottom:7.5pt'>
 <v:imagedata src="file:///C:/DOCUME~1/MARKTA~1/LOCALS~1/Temp/msoclip1/01/clip_image001.gif"
  o:href="http://www.hta-bi.bfh.ch/~hew/informatik3/prolog/p-99/p92a.gif"/>
</v:shape><![endif]--> </p>
        <p align="center"><img
        src="file:///C:/DOCUME~1/MARKTA~1/LOCALS~1/Temp/msoclip1/01/clip_image001.gif"
        hspace="20" vspace="10" width="273" height="139"
        v:shapes="_x0000_i1025"></span></p>
        <p style="margin-left:99.0pt;text-align:justify"><span style="font-size:9.0pt;
  mso-bidi-font-size:12.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;"><u8:shapetype id="_x0000_t75" coordsize="21600,21600" u7:spt="75" u7:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><u8:stroke joinstyle="miter" /><u8:formulas><u8:f eqn="if lineDrawn pixelLineWidth 0" /><u8:f eqn="sum @0 1 0" /><u8:f eqn="sum 0 0 @1" /><u8:f eqn="prod @2 1 2" /><u8:f eqn="prod @3 21600 pixelWidth" /><u8:f eqn="prod @3 21600 pixelHeight" /><u8:f eqn="sum @0 0 1" /><u8:f eqn="prod @6 1 2" /><u8:f eqn="prod @7 21600 pixelWidth" /><u8:f eqn="sum @8 21600 0" /><u8:f eqn="prod @7 21600 pixelHeight" /><u8:f eqn="sum @10 21600 0" /></u8:formulas><u8:path u7:extrusionok="f" gradientshapeok="t" u7:connecttype="rect" /><u7:lock u8:ext="edit" aspectratio="t" /></u8:shapetype><u8:shape id="_x0000_i1025" type="#_x0000_t75" alt style="width:204.75pt;
 height:104.25pt;mso-wrap-distance-left:15pt;mso-wrap-distance-top:7.5pt;
 mso-wrap-distance-right:15pt;mso-wrap-distance-bottom:7.5pt"><u8:imagedata src="./chap7_files/image036.gif" u7:href="http://www.hta-bi.bfh.ch/~hew/informatik3/prolog/p-99/p92a.gif" /></u8:shape><u7:p></u7:p>Anyway
        the puzzle goes like this: Given a tree with N nodes (and
        hence N-1 edges). Find a way to enumerate the nodes from
        1 to N and, accordingly, the edges from 1 to N-1 in such
        a way, that for each edge K the difference of its node
        numbers (labels) equals to K. The conjecture is that this
        is always possible.<span style="mso-spacerun: yes">&nbsp; </span>[The diagram above shows a
        solution for one tree].<u7:p></u7:p></span></p>
        <p style="margin-left:99.0pt;text-align:justify"><span style="font-size:9.0pt;
  mso-bidi-font-size:12.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;">For
        small trees the problem is easy to solve by hand.
        However, for larger trees, and 14 is already very large,
        it is difficult to find a solution. And remember, we
        don't know for sure whether there is always a
        solution!&#148; <u7:p></u7:p></span></p>
        <p style="margin-left:99.0pt"><span style="font-size:9.0pt;mso-bidi-font-size:
  12.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">Write a program that
        calculates a labelling scheme for a given tree.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify">6.<span style="font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">        *Again from Werner Hett</span><!--[if supportFields]><span
  style='font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:
  10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>Hett</span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  style='font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-end'></span></span><![endif]--><span style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:38.25pt;margin-bottom:.0001pt;text-align:justify">&nbsp;<o:p></o:p></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.75in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">&#147;Given
        a list of integer numbers, find a correct way of
        inserting arithmetic signs (operators) such that the
        result is a correct equation. Example: With the list of
        numbers [2,3,5,7,11] we can form the equations 2-3+5+7 =
        11 or 2 = (3*5+7)/11 (and ten others!).&#148;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:56.25pt;margin-bottom:.0001pt;text-align:justify">&nbsp;<o:p></o:p></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.75in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">Write
        a program that finds the list of all possible solutions
        to this<span style="mso-spacerun: yes">&nbsp; </span>problem.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:56.25pt;margin-bottom:.0001pt;text-align:justify">&nbsp;<o:p></o:p></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify">7.<span style="font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">        Write a function </span><b><span style="mso-bidi-font-size:12.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">path</span><span style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"></b> to find an acyclic path P
        from node A to node B in the graph G. The function should
        return all paths via backtracking.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:38.25pt;margin-bottom:.0001pt;text-align:justify">&nbsp;<o:p></o:p></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify">8.<span style="font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">        Write a function</span><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;"> <b>cycles</b> </span><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">to find a closed path
        (cycle) P starting at a given node A in the graph G. The
        function should return all cycles from A via
        backtracking.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:38.25pt;margin-bottom:.0001pt;text-align:justify">&nbsp;<o:p></o:p></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.25in;margin-bottom:.0001pt;text-align:justify">9.<span style="font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">        Two graphs G<sub>1</sub> and G<sub>2</sub> are <i>isomorphic</span><!--[if supportFields]><i><span style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-begin'></span></span></i><i><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></i><i><span style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>isomorphic</span></i><i><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></i><![endif]--><!--[if supportFields]><i><span style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'><span style='mso-element:field-end'></span></span></i><![endif]--><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"><span style="mso-spacerun:
  yes"></i>&nbsp;</span>if
        there is a 1-1 function from the set of nodes of G<sub>1</sub>
        onto the set of nodes of G<sub>2</sub> such that for any
        nodes X,Y of G<sub>1</sub>, X and Y are adjacent in G<sub>1</sub>
        if and only if f(X) and f(Y) are adjacent in G<sub>2</sub>.
        Write a function that determines whether two graphs are
        isomorphic. <u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt"><span style="font-size:9.0pt;
  mso-bidi-font-size:12.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;"><br>
</span>        <b><u><span lang="EN-GB" style="font-size:14.0pt;mso-bidi-font-size:
  10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">Further Reading___________________________<u7:p></u7:p></span></u></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">The
        use of backtracking</span><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>backtracking</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style="mso-spacerun:
  yes">&nbsp;</span>XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>tracking</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>in programming dates at least as
        far back as <b>Hewitt</span><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Hewitt</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:
  bold">&#146;</span></span><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:
  10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB"></b>s (1969) PLANNER</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>PLANNER</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>and
        became widely used when Prolog</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>Prolog</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>(<b>Kowalski </b>(1979))
        made its appearance. A more restrictive version of the
        backtracking used in Qi appeared in the MetaLisp</span><!--[if supportFields]><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Lisp</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>programming
        language (<b>Lajos</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Lajos</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:
  bold"><span style="mso-spacerun: yes">&nbsp;</span></span></span><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>(1990)) and in <b>Wright</span><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Wright</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>(1991).<span style="mso-spacerun:
  yes">&nbsp;
</span>        <b>Liu</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Liu</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:
  bold"><span style="mso-spacerun: yes">&nbsp;</span></span></span><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>and <b>Staples</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Staples</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>(1993) introduce
        a backtracking extension into C. <b>Haynes</b> (1987) and
        more recently <b>Sitaram</b> (1993) experimented with
        backtracking in Scheme</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><span lang=EN-GB
  style='font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Scheme</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">, a functional language that is a
        dialect of Lisp. <b>Charniak</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Charniak</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:
  &quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-bidi-font-weight:
  bold"><span style="mso-spacerun: yes">&nbsp;</span></span></span><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>and<b> McDermott</span><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>McDermott</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>(1985),
        discuss improvements to our implementation of basic
        backward chaining which involve applying rules that
        generate the fewest subgoal</span><!--[if supportFields]><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>subgoal</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style="mso-spacerun:
  yes">&nbsp;</span>XE &quot;</span><b style='mso-bidi-font-weight:normal'><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'>goal</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">s.<span style="mso-spacerun: yes">&nbsp; </span>Chapter 6 of that
        book contains a very readable exposition of the issues
        involved in using backward chaining in implementing
        reasoning systems. Chronological backtracking</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>backtracking</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style="mso-spacerun:
  yes">&nbsp;</span>XE &quot;</span><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>tracking</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>is not
        the only form of backtracking; <b>dependency-directed
        backtracking</b> aims to intelligently analyse the
        reasons for why a search ends in a failure</span><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>failure</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>node and
        tries to undo those decisions that are directly
        responsible for the failure.<span style="mso-spacerun:
  yes">&nbsp; </span>This area is also
        studied within <b>constraint programming</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>constraint
  programming</span></b><b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></b><![endif]--><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b>, which
        studies the <b>constraint satisfaction problem</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'> </span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>XE
  &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>constraint
  satisfaction problem</span></b><b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span></b><![endif]--><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>of<span style="mso-spacerun:
  yes">&nbsp;
</span>        assigning values to each element of a set of variables in
        such a way that a set of constraints is satisfied.<span style="mso-spacerun:
  yes">&nbsp; </span>Problems
        which fall under this category range</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;range&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>from </span><span style="font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">DNA
        sequencing to scheduling. <span style="mso-spacerun: yes">&nbsp;</span><u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">The
        logic programming language<b> Prolog</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Prolog</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>is an
        extension of Proplog</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Proplog</span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>incorporating unification</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>unification</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>and
        is discussed in <b>Sterling</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Sterling</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>and <b>Shapiro</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Schapiro</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>(1994)
        and <b>Bratko</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Bratko</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>(2002);<span style="mso-spacerun:
  yes">&nbsp; </span><b>Lloyd</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Lloyd</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>(1990)
        provides the theory to Prolog while <b>Hogger</b> (1990)
        is a rather gentler introduction.<span style="mso-spacerun: yes">&nbsp; </span><b>Stickel</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Stickel</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>(1984,
        1986) describes an extension to Prolog that is complete</span><!--[if supportFields]><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>complete</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>for
        first-order logic.<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-family:&quot;Courier New&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><span lang="EN-GB" style="font-size:12.0pt;mso-bidi-font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">Web
        Sites<u7:p></u7:p></span></b></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify"><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">&nbsp;<u7:p></u7:p></span></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1"><b><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  mso-ansi-language:EN-GB">Roman
        Bartak</span><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"></b> (<a
        href="http://kti.ms.mff.cuni.cz/~bartak/constraints/"><span lang="EN-US" style="mso-ansi-language:EN-US">http://kti.ms.mff.cuni.cz/~bartak/constraints</span></a>)
        maintains a site devoted to constraint programming</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>constraint programming</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span lang=EN-GB style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">.<span style="mso-spacerun: yes">&nbsp;
</span>        Free implementations of Prolog</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>Prolog</span></b><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>are easily obtained
        over the web.<span style="mso-spacerun: yes">&nbsp;&nbsp; </span><b>Sicstus Prolog</b> (<a
        href="http://www.sics.se/sicstus/"><span lang="EN-US" style="mso-ansi-language:
  EN-US">http://www.sics.se/sicstus</span></a>)
        is one of the fastest versions of Prolog currently
        available, but is not free</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'> XE &quot;</span><b style='mso-bidi-font-weight:normal'><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>free</span></b><span
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB">ly available.<span style="mso-spacerun: yes">&nbsp; </span><b>SWI
        Prolog</b> (<span style="color:blue"><a
        href="http://www.hio.hen.nl/faq/SWI-Prolog.html">http://www.swi.prolog.org</span></a>)
        is another widely used implementation and is free.<span style="mso-spacerun:
  yes">&nbsp; </span>GNU
        Prolog (<a
        href="http://pauillac.inria.fr/~diaz/gnu-prolog"><span lang="EN-US" style="mso-ansi-language:EN-US">http://pauillac.inria.fr/~diaz/gnu-prolog</span></a>)
        is a free Prolog implemented by <b>Daniel Diaz</span><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'><span style='mso-element:field-begin'></span></span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Diaz</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span></b><![endif]--><!--[if supportFields]><b style='mso-bidi-font-weight:
  normal'><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;
  font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><span style='mso-element:field-end'></span></span></b><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes"></b>&nbsp;</span>that
        offers extra facilities for constraint satisfaction
        handling.<span style="mso-spacerun: yes">&nbsp; </span><b>Visual Prolog</b> (<a
        href="http://www.pdc.dk/vip/"><span lang="EN-US" style="mso-ansi-language:EN-US">http://www.visual-prolog.com</span></a>)
        is available from the <b>Prolog Development Centre</b>
        and includes facilities for building graphical
        interfaces. A free download</span><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-begin'></span></span><span style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'> XE &quot;</span><span lang=EN-GB style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'>load</span><span style='font-size:
  9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'><span
  style='mso-element:field-end'></span></span><![endif]--><span lang="EN-GB" style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;mso-ansi-language:EN-GB"><span style="mso-spacerun: yes">&nbsp;</span>version for
        non-commercial purposes is available from the Web site. <b>Qi-Prolog</b>
        is a pure occurs-check Prolog bundled with Qi that allows
        embedded function calls within terms. It is documented in
        Lambda Associates (<a
        href="http://www.lambdassociates.org/">www.lambdassociates.org</a>)
</span><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">        Werner Hett</span><!--[if supportFields]><span
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:
  10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>Hett</span><span style='font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>&quot; </span><![endif]--><!--[if supportFields]><span
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-end'></span></span><![endif]--><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"><span style="mso-spacerun:
  yes">&nbsp;</span>maintains a web site (<a
        href="http://www.hta-bi.bfh.ch/~hew/informatik3/prolog/p-99">http://www.hta-bi.bfh.ch/~hew/informatik3/prolog/p-99</a>)
        of 99 Prolog</span><!--[if supportFields]><span style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span lang=EN-GB
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-GB'>Prolog</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span style='font-size:9.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'><span style='mso-element:field-end'></span></span><![endif]--><span style="font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"><span style="mso-spacerun:
  yes">&nbsp;</span>problems, from which many of the
        problems in this exercise are taken.<u7:p></u7:p></span></p>
        <p><span style="font-size:12.0pt;font-family:&quot;Times New Roman&quot;;mso-fareast-font-family:
  &quot;Times New Roman&quot;;color:black;mso-ansi-language:EN-US;mso-fareast-language:
  EN-US;mso-bidi-language:AR-SA"><br clear="all"
        style="mso-special-character:
  line-break;page-break-before:always">
</span>        </p>
        <p>&nbsp;<o:p></o:p></p>
        <p>&nbsp;<u6:p></u6:p></p>
        <p>&nbsp;<u5:p></u5:p></p>
        <p class="MsoNormal"
        style="margin-top:0in;margin-right:-.35pt;margin-bottom:
  0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;mso-outline-level:
  1">&nbsp;<u7:p></u7:p></p>
        <p><br clear="all"
        style="mso-special-character:line-break">
        </p>
        <p><span style="font-size:12.0pt"> </p>
        <hr size="1" align="left" width="33%">
        <p></span> </p>
        <p class="MsoFootnoteText"><a href="#_ftn6"
        name="_ftnref6" style="mso-footnote-id:ftn6" title><span class="MsoFootnoteReference"><span style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:Wingdings">0</span></span><span style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"></a>
        Qi Programs/Chap7/proplog version 1.qi.<u7:p></u7:p></span></p>
        <p class="MsoFootnoteText" style="text-align:justify"><a
        href="#_ftn7" name="_ftnref7"
        style="mso-footnote-id:
  ftn7" title><span class="MsoFootnoteReference"><span style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;letter-spacing:-.4pt"><span style="mso-special-character:footnote">[4]</span></span></span><span class="MsoFootnoteReference"><span style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;letter-spacing:-.4pt"></a>[4][4][1]</span></span><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-.4pt"> </span><span style="font-size:8.0pt;mso-bidi-font-size:
  10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;
  letter-spacing:-.4pt">The
        use of sequent notation derives from <b>Gerhard Gentzen</span><!--[if supportFields]><b style='mso-bidi-font-weight:normal'><span
  style='font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.4pt'><span
  style='mso-element:field-begin'></span></span></b><b><span style='font-family:
  "Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";letter-spacing:
  -.4pt'> XE &quot;</span></b><b style='mso-bidi-font-weight:normal'><span
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman";letter-spacing:-.4pt'>Gentzen</span></b><b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  letter-spacing:-.4pt'>&quot; </span></b><![endif]--><!--[if supportFields]><b
  style='mso-bidi-font-weight:normal'><span style='font-size:8.0pt;mso-bidi-font-size:
  10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  letter-spacing:-.4pt'><span style='mso-element:field-end'></span></span></b><![endif]--><span style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;;letter-spacing:-.4pt"><span style="mso-spacerun: yes"></b>&nbsp;</span>(1934)
        who developed the <b>sequent calculus treatment</b> of
        first-order logic.<span style="mso-spacerun:
  yes">&nbsp; </span>In Gerhard's system a sequent is
        a pair of lists F<sub>1</sub>,...,F<sub>n</sub> and G<sub>1</sub>,...,G<sub>n</sub>
        called the <b>antecedent</b> and the <b>succeedent</b>
        respectively. The sequent is valid if the conjunction of
        the elements of the antecedent logically implies the
        disjunction of the elements of the consequent.<span style="mso-spacerun: yes">&nbsp; </span>If
        the succeedent is restricted by only allowing one element
        in the list, then the system is a <b>single-conclusion </b>sequent
        calculus</span><span style="font-size:8.0pt;mso-bidi-font-size:
  10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;"> system; which is the kind that Qi is designed to
        represent.<span style="mso-spacerun: yes">&nbsp; </span>See Duffy</span><!--[if supportFields]><span
  style='font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-begin'></span></span><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>
  XE &quot;</span><b style='mso-bidi-font-weight:normal'><span
  style='font-size:9.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  mso-bidi-font-family:"Times New Roman"'>Duffy</span></b><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&quot;
  </span><![endif]--><!--[if supportFields]><span style='font-size:8.0pt;
  mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman"'><span style='mso-element:field-end'></span></span><![endif]--><span style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"><span style="mso-spacerun:
  yes">&nbsp;</span>(1991) for more details.<u7:p></u7:p></span></p>
        <p class="MsoFootnoteText"><a href="#_ftn8"
        name="_ftnref8" style="mso-footnote-id:ftn8" title><span class="MsoFootnoteReference"><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;"><span style="mso-special-character:footnote">[5]</span></span></span><span class="MsoFootnoteReference"><span style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"></a>[5][5][2]</span></span><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">
</span><span style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">        &gt;&gt; and |- do mean different things.<span style="mso-spacerun: yes">&nbsp; </span>Thus 'P
        |- P' states &quot;From P, P is derivable&quot;<span style="mso-spacerun: yes">&nbsp; </span>whereas
        &quot;P &gt;&gt; P&quot; states nothing, it is simply a
        representation of an object without any claims as to
        derivability.<span style="mso-spacerun: yes">&nbsp; </span>But where there is no danger of
        confusion, we will not press the point.<u7:p></u7:p></span></p>
        <p class="MsoFootnoteText"><a href="#_ftn9"
        name="_ftnref9" style="mso-footnote-id:ftn9" title><span class="MsoFootnoteReference"><span style="font-family:Wingdings">0</span></span><span style="font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;"></a> </span><span style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">Qi
        Programs</span><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">/</span><span style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;">Chap7/proplog version 2.qi<u7:p></u7:p></span></p>
        <p class="MsoFootnoteText"><a href="#_ftn10"
        name="_ftnref10" style="mso-footnote-id:ftn10" title><span class="MsoFootnoteReference"><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;"><span style="mso-special-character:footnote">[6]</span></span></span><span class="MsoFootnoteReference"><span style="font-family:&quot;Microsoft Sans Serif&quot;;
  mso-bidi-font-family:&quot;Times New Roman&quot;"></a>[6][6][3]</span></span><span style="font-family:&quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">
</span><span style="font-size:8.0pt;mso-bidi-font-size:10.0pt;font-family:
  &quot;Microsoft Sans Serif&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;">        The significance of these equivalences is that, because
        they preserve the declarative meaning of the backtracking
        construction, when we come to consider how <span style="mso-bidi-font-style:italic">Qi</span> functions
        are to be type-checked in part II of this book, these
        equivalences will allow the elimination of backtracking
        constructions in favour of a more familiar construction.<u7:p></u7:p></span></p>
        <p class="MsoNormal">&nbsp;<span style="font-size:12.0pt"><o:p></o:p></span></p>
        </td>
    </tr>
</table>
</center></div>

<p class="MsoNormal"><span style="font-size:12.0pt">&nbsp;<u5:p></u5:p></span></p>

<p><br clear="all" style="mso-special-character:line-break">
</p>
<span style="font-size:12.0pt">
<hr size="1" align="left" width="33%">
</span>
<p class="MsoNormal">&nbsp;<u5:p></u5:p><a href="#_ftn11" name="_ftnref11"
style="mso-footnote-id:ftn11" title></a></p>

<p class="MsoNormal">&nbsp;<u5:p></u5:p><a href="#_ftn12" name="_ftnref12"
style="mso-footnote-id:ftn12" title></a></p>

<p class="MsoNormal">&nbsp;<u5:p></u5:p><a href="#_ftn13" name="_ftnref13"
style="mso-footnote-id:ftn13" title></a></p>

<p class="MsoNormal">&nbsp;<u5:p></u5:p><a href="#_ftn14" name="_ftnref14"
style="mso-footnote-id:ftn14" title></a></p>

<p class="MsoNormal">&nbsp;<u5:p></u5:p><a href="#_ftn15" name="_ftnref15"
style="mso-footnote-id:ftn15" title></a></p>

<p class="MsoNormal">&nbsp;<u5:p></u5:p><a href="#_ftn16" name="_ftnref16"
style="mso-footnote-id:ftn16" title></a></p>

<p class="MsoNormal">&nbsp;<u5:p></u5:p><a href="#_ftn17" name="_ftnref17"
style="mso-footnote-id:ftn17" title></a></p>

<p class="MsoNormal">&nbsp;<u5:p></u5:p><a href="#_ftn18" name="_ftnref18"
style="mso-footnote-id:ftn18" title></a></p>

<p class="MsoNormal">&nbsp;<u5:p></u5:p><a href="#_ftn19" name="_ftnref19"
style="mso-footnote-id:ftn19" title></a></p>

<p class="MsoNormal">&nbsp;<u5:p></u5:p><a href="#_ftn20" name="_ftnref20"
style="mso-footnote-id:ftn20" title></a></p>

<p><br clear="all" style="mso-special-character:line-break">
</p>
<span style="font-size:12.0pt">
<hr size="1" align="left" width="33%">
</span>
<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn21" name="_ftnref21"
style="mso-footnote-id:ftn21" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn22" name="_ftnref22"
style="mso-footnote-id:ftn22" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn23" name="_ftnref23"
style="mso-footnote-id:ftn23" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn24" name="_ftnref24"
style="mso-footnote-id:ftn24" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn25" name="_ftnref25"
style="mso-footnote-id:ftn25" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn26" name="_ftnref26"
style="mso-footnote-id:ftn26" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn27" name="_ftnref27"
style="mso-footnote-id:ftn27" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn28" name="_ftnref28"
style="mso-footnote-id:ftn28" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn29" name="_ftnref29"
style="mso-footnote-id:ftn29" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn30" name="_ftnref30"
style="mso-footnote-id:ftn30" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn31" name="_ftnref31"
style="mso-footnote-id:ftn31" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn32" name="_ftnref32"
style="mso-footnote-id:ftn32" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn33" name="_ftnref33"
style="mso-footnote-id:ftn33" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn34" name="_ftnref34"
style="mso-footnote-id:ftn34" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn35" name="_ftnref35"
style="mso-footnote-id:ftn35" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn36" name="_ftnref36"
style="mso-footnote-id:ftn36" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn37" name="_ftnref37"
style="mso-footnote-id:ftn37" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn38" name="_ftnref38"
style="mso-footnote-id:ftn38" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn39" name="_ftnref39"
style="mso-footnote-id:ftn39" title></a></p>

<p class="MsoNormal">&nbsp;<u6:p></u6:p><a href="#_ftn40" name="_ftnref40"
style="mso-footnote-id:ftn40" title></a></p>

<p><br clear="all">
</p>

<hr size="1" align="left" width="33%">

<p class="MsoNormal"><a href="#_ftnref1" name="_ftn1"
style="mso-footnote-id:ftn1" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref2" name="_ftn2"
style="mso-footnote-id:ftn2" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref3" name="_ftn3"
style="mso-footnote-id:ftn3" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref4" name="_ftn4"
style="mso-footnote-id:ftn4" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref5" name="_ftn5"
style="mso-footnote-id:ftn5" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref6" name="_ftn6"
style="mso-footnote-id:ftn6" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref7" name="_ftn7"
style="mso-footnote-id:ftn7" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref8" name="_ftn8"
style="mso-footnote-id:ftn8" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref9" name="_ftn9"
style="mso-footnote-id:ftn9" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref10" name="_ftn10"
style="mso-footnote-id:ftn10" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref11" name="_ftn11"
style="mso-footnote-id:ftn11" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref12" name="_ftn12"
style="mso-footnote-id:ftn12" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref13" name="_ftn13"
style="mso-footnote-id:ftn13" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref14" name="_ftn14"
style="mso-footnote-id:ftn14" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref15" name="_ftn15"
style="mso-footnote-id:ftn15" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref16" name="_ftn16"
style="mso-footnote-id:ftn16" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref17" name="_ftn17"
style="mso-footnote-id:ftn17" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref18" name="_ftn18"
style="mso-footnote-id:ftn18" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref19" name="_ftn19"
style="mso-footnote-id:ftn19" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref20" name="_ftn20"
style="mso-footnote-id:ftn20" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref21" name="_ftn21"
style="mso-footnote-id:ftn21" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref22" name="_ftn22"
style="mso-footnote-id:ftn22" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref23" name="_ftn23"
style="mso-footnote-id:ftn23" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref24" name="_ftn24"
style="mso-footnote-id:ftn24" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref25" name="_ftn25"
style="mso-footnote-id:ftn25" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref26" name="_ftn26"
style="mso-footnote-id:ftn26" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref27" name="_ftn27"
style="mso-footnote-id:ftn27" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref28" name="_ftn28"
style="mso-footnote-id:ftn28" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref29" name="_ftn29"
style="mso-footnote-id:ftn29" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref30" name="_ftn30"
style="mso-footnote-id:ftn30" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref31" name="_ftn31"
style="mso-footnote-id:ftn31" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref32" name="_ftn32"
style="mso-footnote-id:ftn32" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref33" name="_ftn33"
style="mso-footnote-id:ftn33" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref34" name="_ftn34"
style="mso-footnote-id:ftn34" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref35" name="_ftn35"
style="mso-footnote-id:ftn35" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref36" name="_ftn36"
style="mso-footnote-id:ftn36" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref37" name="_ftn37"
style="mso-footnote-id:ftn37" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref38" name="_ftn38"
style="mso-footnote-id:ftn38" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref39" name="_ftn39"
style="mso-footnote-id:ftn39" title></a>&nbsp;<o:p></o:p></p>

<p class="MsoNormal"><a href="#_ftnref40" name="_ftn40"
style="mso-footnote-id:ftn40" title></a>&nbsp;<o:p></o:p></p>
</body>
</html>
